package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 排序字符串
 */
public class SortListDemo3 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        /*
            String实现了Comparable接口，比较规则:按照首字符的unicode编码转换的
            整数比较大小，当该字符相同时再看第二个字符以此类推。
         */
//        list.add("Tom");
//        list.add("rose");
//        list.add("jack");
//        list.add("kobe");
//        list.add("james");
//        list.add("ada");
//        list.add("Jerry");
//        list.add("jill");
//        list.add("hanmeimei");
//        list.add("lilei");

        //排序中文时则没有什么规律了
        list.add("范传奇");
        list.add("克晶老师");
        list.add("刘桑");

        System.out.println(list);
//        Collections.sort(list);
        //为String定义一个比较器，比较规则：字少的小，字多的大
        Collections.sort(list,new Comparator<String>() {
            public int compare(String o1, String o2) {
//                return o1.length()-o2.length();
                //反过来减就是从大到小(就是将原来比较中大的当小的看，小的当大的看)
                return o2.length()-o1.length();
            }
        });


        System.out.println(list);


    }
}





